# 字典的函数
d = {'sex': '男', 'score': 120, 'name': 'sunxiaodou'}
print(d['name'])
print(d['score'])
print(d.keys())  #输出所有的键
print(d.values()) #输出所有的值

# 如果key不错在则会报错
# 判断某个key值是否在字典中
print('sex' in d)

# d.get() 方法
# print(d['aini'])
# 判断如果不存在返回None
print(d.get('dizhetou'))

# 要删除有个key,用pop(key)方法，对应value也会从字典中删除
print(d)
print(d.pop('score'))
print(d)

# set和dict类似，也是一组key的集合，但不存储value。由于key不能重复，所以，在set中，没有重复的key
# 要创建一个set,需要 提供一个list作为输入集合

s = set([1,2,3,222,3,1,2,5,4,7,2,1,2,2])
print(s)

# 通过add(key)方法可以添加元素到set中，可以重复添加，但不会有效果
s.add(4)
s.add(6666)
print(s)

#删除元素 remove(key)
s.remove(222)
print(s)

#set和dict的唯一区别仅在于没有存储对应的value，但是，set的原理和dict一样，所以，同样不可以放入可变对象，因为无法判断两个可变对象是否相等，也就无法保证set内部“不会有重复元素”。试试把list放入set，看看是否会报错。

# 再议不可变对象
# 上面讲str是不可变对象，而list是可变的对象
# sort排序
a = ['c', 'b','a']
a.sort()
print(a)
# 而对于不可变对象，比如str,对str进行操作呢
a = 'sadasd'
b=a.replace('a', 'A')
print(b)
print(a)


